Lowest common ancestors in trees and directed acyclic graphs

نویسندگان

  • Michael A. Bender
  • Martin Farach-Colton
  • Giridhar Pemmasani
  • Steven Skiena
  • Pavel Sumazin
چکیده

We study the problem of finding lowest common ancestors (LCA) in trees and directed acyclic graphs (DAGs). Specifically, we extend the LCA problem to DAGs and study the LCA variants that arise in this general setting. We begin with a clear exposition of Berkman and Vishkin’s simple optimal algorithm for LCA in trees. Their ideas lay the foundation for our work on LCA problems in DAGs. We present an algorithm that finds all-pairs-representative LCA in DAGs in Õ(n2.688) operations, provide a transitiveclosure lower bound for the all-pairs-representative-LCA problem, and develop an LCA-existence algorithm that preprocesses the DAG in transitive-closure time. We also present a suboptimal but practical O(n3) algorithm for all-pairs-representative LCA in DAGs that uses ideas from the optimal algorithms in trees ✩ This work appeared in preliminary form in publications: [M.A. Bender, M. Farach-Colton, The LCA problem revisited, in: Latin American Theoretical Informatics, April 2000, pp. 88–94. [2]] and [M.A. Bender, G. Pemmasani, S. Skiena, P. Sumazin, Finding least common ancestors in directed acyclic graphs, in: Proceedings of the 12th Annual ACM–SIAM Symposium on Discrete Algorithms, ACM Press, January 2001, pp. 235–244. [3]]. * Corresponding author. E-mail addresses: [email protected] (M.A. Bender), [email protected] (M. Farach-Colton), [email protected] (G. Pemmasani), [email protected] (S. Skiena), [email protected] (P. Sumazin). 1 Supported in part by NSF Grants EIA-0112849, CCR-0208670 and HRL Laboratories, ISX Corporation, and Sandia National Laboratories. 2 Supported in part by NSF Career Development Award CCR-9501942, NATO Grant CRG 960215, NSF/NIH Grant BIR 94-12594-03-CONF, NSF grant CCR-9820879. 3 Supported in part by NSF Grant CCR-9625669 and ONR Award N00149710589. 4 Supported by NSF Grant DBI-0306152. 0196-6774/$ – see front matter  2005 Elsevier Inc. All rights reserved. doi:10.1016/j.jalgor.2005.08.001 76 M.A. Bender et al. / Journal of Algorithms 57 (2005) 75–94 and DAGs. Our results reveal a close relationship between the LCA, all-pairs-shortest-path, and transitiveclosure problems. We conclude the paper with a short experimental study of LCA algorithms in trees and DAGs. Our experiments and source code demonstrate the elegance of the preprocessing-query algorithms for LCA in trees. We show that for most trees the suboptimal Θ(n logn)-preprocessing Θ(1)-query algorithm should be preferred, and demonstrate that our proposed O(n3) algorithm for all-pairs-representative LCA in DAGs performs well in both low and high density DAGs.  2005 Elsevier Inc. All rights reserved.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Computing Lowest Common Ancestors in Directed Acyclic Graphs

Finding the lowest common ancestor of a given pair of nodes is a fundamental algorithmic problem. In this paper we study the lowest common ancestor(LCA) problem on directed acyclic graphs (DAGs). A lowest common ancestor of two nodes a and b is a node c which is a common ancestor of a and b and no other node is both a common ancestor of a and b and a proper descendant of c. LCA on trees have be...

متن کامل

New common ancestor problems in trees and directed acyclic graphs

We derive a new generalization of lowest common ancestors (LCAs) in dags, called the lowest single common ancestor (LSCA). We show how to preprocess a static dag in linear time such that subsequent LSCA-queries can be answered in constant time. The size is linear in the number of nodes. We also consider a “fuzzy” variant of LSCA that allows to compute a node that is only an LSCA of a given perc...

متن کامل

Lowest Common Ancestors in Trees and Directed Acyclic Graphs1

We study the problem of finding lowest common ancestors (LCA) in trees and directed acyclic graphs (DAGs). Specifically, we extend the LCA problem to DAGs and study the LCA variants that arise in this general setting. We begin with a clear exposition of Berkman and Vishkin’s simple optimal algorithm for LCA in trees. The ideas presented are not novel theoretical contributions, but they lay the ...

متن کامل

All-Pairs Common-Ancestor Problems in Weighted Dags

This work considers the (lowest) common ancestor problem in weighted directed acyclic graphs. The minimum-weight (lowest) common ancestor of two vertices is the vertex among the set of (lowest) common ancestors with the smallest ancestral distance. For the all-pairs minimum-weight common ancestor problem we present an O(nm) algorithm for arbitrary edge weights which is optimal for sparse graphs...

متن کامل

A scalable approach to computing representative lowest common ancestor in directed acyclic graphs

LCA computation for vertex pairs in trees can be achieved in constant time after linear-time preprocessing. However, extension of these techniques to compute LCA for vertex-pairs in DAGs has been not possible due to the non-tree edges in a DAG. In this paper, we present an algorithm for computing the LCA for vertex pairs in a DAG which treats the DAG’s spanning tree and its non-tree edges separ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • J. Algorithms

دوره 57  شماره 

صفحات  -

تاریخ انتشار 2005